画一个火山图
这是以前学习ggplot2的时候,自己调制的火山图。
纪念一下。
使用ggplot2画框架
使用ggrepel来打标签
library(ggplot2)
library(ggrepel)
准备数据,以及打标签用的数据
data <- allDiff
data$significant <- as.factor(data$P.Value<0.05 & abs(data$logFC) > 1)
data$gene <- rownames(data)
正式画图
ggplot(data=data, aes(x=logFC, y =-log10(P.Value),color=significant)) +
geom_point(alpha=0.8, size=1.2)+
scale_color_manual(values =c("black","red"))+
labs(title="Volcanoplot", x="log2 (fold change)",y="-log10 (q-value)")+
theme(plot.title = element_text(hjust = 0.4))+
geom_hline(yintercept = -log10(0.05),lty=4,lwd=0.6,alpha=0.8)+
geom_vline(xintercept = c(1,-1),lty=4,lwd=0.6,alpha=0.8)+
#theme(legend.position='none')
theme_bw()+
theme(panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black")) +
geom_text(data=subset(data, abs(logFC) > 3), aes(label=gene),col="red",alpha = 1)
geom_text_repel(data=subset(data, abs(logFC) > 3), aes(label=gene),col="black",alpha = 0.8)
感觉很像火山崩发啊。